package com.woniuxy.springaop;

import net.sf.cglib.proxy.MethodProxy;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

import java.lang.reflect.Method;

/**
 * @author: ideaAdmin
 * TODO: 基于spring定义一个切面类
 * Date: 2022/1/20:17:45
 * Description:
 */

//需要实现一个接口方法
public class MyAspectSpring implements MethodInterceptor {
    //在前面增强的方法
    public void beforeMethod(){System.out.println("我在target前面执行");}




    //在后面增强的方法
    public void afterMethod(){
        System.out.println("我在target执行完后再执行");
    }

    @Override
    public Object invoke(MethodInvocation invocation) throws Throwable {
        beforeMethod();

        Object proceed = invocation.proceed();

        afterMethod();
        return proceed;
    }
}
